草庐IT

c++ - 在 C++ 中共享相同名称的类和命名空间

全部标签

ruby - 如何在ruby中批量重命名文件

我一直在尝试编写一个基于ruby的文件重命名程序,作为我自己的编程练习(我知道linux下有rename,但我想学习Ruby,而rename在Mac中没有)。从下面的代码来看,问题是.include?方法总是返回false,即使我看到文件名包含这样的搜索模式。如果我注释掉include?检查,gsub()似乎根本不会生成新文件名(即文件名保持不变)。那么有人可以看看我做错了什么吗?提前致谢!这是预期的行为:假设当前文件夹下有三个文件:a1.jpg、a2.jpg、a3.jpgRuby脚本应该可以将其重命名为b1.jpg、b2.jpg、b3.jpg#!/Users/Antony/.rvm/

ruby - Ruby 1.8 和 1.9 的字符串哈希码是否相同?

我想用String.hash来生成hashcode,但是我担心如果过段时间我把版本从1.8升级到1.9,生成的hashcode也会改变。Ruby1.8和1.9的字符串哈希码是否相同? 最佳答案 幸运的是,答案很简单,因为他们没有:~$ruby1.8-e'p"helloworld".hash'444332266~$ruby1.9-e'p"helloworld".hash'-194819219如果您使用内置哈希方法,我建议您在构建过程中使用一个脚本来生成必要的哈希码。请注意,即使从一台机器到另一台机器,也不能保证它们是相同的。如果您需要

ruby-on-rails - rails 如何正确地将模型移动到命名空间

我正在运行Railsv3.2。开发应用程序一段时间后,我需要将一些模型移动到命名空间ex:/app/models/address.rb到/app/models/local/address.rb我尝试简单地将模型移动到目标文件夹并将Local::添加到类名中。然后我相应地更新规范,但我仍然在运行spec.he时遇到错误。未初始化的常量地址(NameError)。问题是——如何将模型移动到命名空间?我的行为是什么-编辑迁移或其他...请帮助,因为我被不同的文章等混淆了。更新我发现了问题所在:设计和命名空间。解决它 最佳答案 我想你可以试

ruby - 命名约定 : Why Array#delete has no exclamation mark at the end?

我正在学习Ruby,我发现按照惯例,方法名称末尾的感叹号表示该方法以某种方式修改了self。为什么Array#delete不像slice!那样以感叹号结尾,因为delete从self中删除一个元素?我错过了一些基本的东西吗? 最佳答案 引用Matz(Ruby的总工程师):Thebang(!)doesnotmean"destructive"norlackofitmeannondestructiveeither.Thebangsignmeans"thebangversionismoredangerousthanitsnonbangcou

ruby - 删除名称与模式匹配的所有文件

我有多个文件(在一个包含数千个文件的文件夹中),例如:...page_bonus.txtpage_code1.txtpage_code2.txtpage_text1.txtpage_text2.txtpage_text3.txt...如何删除所有page_code*文件?注意:我不想使用FileUtils或shell 最佳答案 Dir::glob支持单个字符通配符(即?)。根据您的示例,您可以使用?在给定目录中找到适当的文件,然后删除它们。Dir.glob('/home/your_username/Documents/page_co

ruby-on-rails - 使用命名空间路由时的路由错误

当路由被命名空间时,你如何处理form_for?我遇到了一些我真正希望得到的奇怪的路由错误。例如,假设您有一个名为Admin::CompaniesController的Controllerroutes.rb中的:admin命名空间:namespace:admindoresources:companiesend大多数情况下工作正常,但在呈现新表单时出现错误。这是代码:admin_company_path(@company))do|f|%>这是错误信息:ActionView::Template::Error:Noroutematches{:action=>"show",:controlle

ruby-on-rails - state_machine 中状态的命名范围

我使用state_machine在我的Rails3.1应用程序之一上使用ActiveRecord。我发现访问具有不同状态的记录的语法很麻烦。是否可以将每个状态同时定义为作用域而不用手写作用域定义?考虑以下示例:classUser:foodostate:foostate:bar#...endend#state_machinesyntax:User.with_status:fooUser.with_status:bar#desiredsyntax:User.fooUser.bar 最佳答案 我正在将以下内容添加到我的模型中:state_

ruby - 删除 Ruby 数组中相邻的相同元素?

ruby1.8.6我有一个包含数值的数组。我想减少它,以便将相同值的序列减少为该值的单个实例。所以我想a=[1,1,1,2,2,3,3,3,3,2,2,2,3,3,3]减少到[1,2,3,2,3]如您所见,Array#uniq在这种情况下不起作用。我有以下有效的方法:(a.size-1).downto(1){|i|a[i]=nilifa[i-1]==a[i]}谁能想出不那么丑陋的东西? 最佳答案 对于最简单、最精简的解决方案,您可以使用方法Enumerable#chunk:a.chunk(&:itself).map(&:first)

ruby - 测试多个变量是否具有相同值的简单方法,ruby

有没有一种简单的方法可以测试多个变量在ruby​​中具有相同的值?一些链接:ifa==b==c==d#doesnotwork#Dosomethingbecausea,b,canddhavethesamevalueend当然可以根据主控检查每个变量以查看它们是否全部为真,但这是更多的语法并且不是那么清楚。ifa==b&&a==c&&a==d#doeswork#wehavenowtestedthesamething,butwithmoresyntax.end您需要这样的东西的另一个原因是,如果您在测试之前确实对每个变量进行了处理。ifarray1.sort==array2.sort==ar

ruby - require 找不到与同一目录相同的 .rb 文件

Ruby中的require命令究竟是如何工作的?我使用同一目录中的以下两个文件对其进行了测试。测试.rbrequire'requirements'square(2)需求.rbdefsquare(x)x*xend但是当我在与文件“test.rb”和“requirements.rb”相同的目录中运行ruby​​test.rb时,我得到错误:/usr/local/rvm/rubies/ruby-1.9.3-p286/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in`require':cannotloadsuchfile--re